/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.iglesiadediosanmiguel.jpa.entities;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author propietariohp
 */
@Entity
@Table(name = "pedidos", catalog = "s2tic", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Pedidos.findAll", query = "SELECT p FROM Pedidos p"),
    @NamedQuery(name = "Pedidos.findByIDPedido", query = "SELECT p FROM Pedidos p WHERE p.iDPedido = :iDPedido"),
    @NamedQuery(name = "Pedidos.findByNumeroPedido", query = "SELECT p FROM Pedidos p WHERE p.numeroPedido = :numeroPedido")})
public class Pedidos implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 5)
    @Column(name = "ID_Pedido", nullable = false, length = 5)
    private String iDPedido;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 10)
    @Column(name = "Numero_Pedido", nullable = false, length = 10)
    private String numeroPedido;
    @JoinColumn(name = "ID_Producto", referencedColumnName = "ID_Producto", nullable = false)
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Productos iDProducto;
    @JoinColumn(name = "ID_Cliente", referencedColumnName = "ID_Cliente", nullable = false)
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Cliente iDCliente;

    public Pedidos() {
    }

    public Pedidos(String iDPedido) {
        this.iDPedido = iDPedido;
    }

    public Pedidos(String iDPedido, String numeroPedido) {
        this.iDPedido = iDPedido;
        this.numeroPedido = numeroPedido;
    }

    public String getIDPedido() {
        return iDPedido;
    }

    public void setIDPedido(String iDPedido) {
        this.iDPedido = iDPedido;
    }

    public String getNumeroPedido() {
        return numeroPedido;
    }

    public void setNumeroPedido(String numeroPedido) {
        this.numeroPedido = numeroPedido;
    }

    public Productos getIDProducto() {
        return iDProducto;
    }

    public void setIDProducto(Productos iDProducto) {
        this.iDProducto = iDProducto;
    }

    public Cliente getIDCliente() {
        return iDCliente;
    }

    public void setIDCliente(Cliente iDCliente) {
        this.iDCliente = iDCliente;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (iDPedido != null ? iDPedido.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Pedidos)) {
            return false;
        }
        Pedidos other = (Pedidos) object;
        if ((this.iDPedido == null && other.iDPedido != null) || (this.iDPedido != null && !this.iDPedido.equals(other.iDPedido))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.iglesiadediosanmiguel.jpa.entities.Pedidos[ iDPedido=" + iDPedido + " ]";
    }
    
}
